package tech.eyao.hs60x.service;

import java.util.List;
import tech.eyao.hs60x.dto.BaseResult;
import tech.eyao.hs60x.model.domain.AccountDO;

/**
 * @author hejian
 * @date 2017年12月20日 上午10:40:23
 */
public interface AccountService {
	
	/**
	 * 登录
	 * @param userLoginVO
	 * @return
	 */
	public String login(String deviceId,long id);
	
	/**
	 * 注销
	 * @param token
	 * @return
	 */
	public BaseResult logout(String token);

	/**
	 * 上传头像
	 * @param bytes
	 * @param header
	 */
	public String uploadImg(byte[] bytes, String header);

	/**
	 * 注册登录账户
	 * @param user
	 * @return
	 */
	public BaseResult otpLogin(String phone,String password, String deviceId,int accountType, int deviceTag,String smsCode);
	
	/**
	 * 查询用户绑定设备账号资料
	 * @param userId
	 * @param accountId
	 * @return
	 */
	public BaseResult getWacthAccount(long userId, long accountId);

	/**
	 * id 查询
	 * @param userId
	 * @return
	 */
	public BaseResult getAccountDetail(long userId);
	
	/**
	 * 手机号查询
	 * @param phone
	 * @return
	 */
	public AccountDO getByPhone(String phone);

	/**
	 * 批量查询账户详情
	 * @param accountIds
	 * @return
	 */
	public List<AccountDO> getAccountByListId(List<Long> accountIds);
	/**
	 * 更新账户信息
	 * @param accountDO
	 * @return
	 */
	public Boolean updateAccountByDo(AccountDO accountDO);
	
	/**
     * 查询设备账户信息
     * @param accountDO
     * @return
     */
    public AccountDO queryAccoutByDeviceParams(AccountDO accountDO);

	public AccountDO getAccountById(long userId);
}
